package sort;

import javax.persistence.criteria.CriteriaBuilder;
import java.util.Arrays;

/**
 * @Author: Yangu
 * @Created time: 2021/1/9 15:54
 * @Description :
 */
public class BubbleSort {

    /**
     * 从头部开始比，从头比到位
     * @param arr
     * @return
     */
    public static Integer[] sort1(Integer [] arr) {
        for(int i=0; i<arr.length; i++) {
            for(int j=i+1; j<arr.length; j++) {
                if(arr[i] > arr[j]) {
                    int temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
                System.out.println(Arrays.toString(arr));
            }
            System.out.println("-------------------------");
        }
        return arr;
    }

    /**
     * 底部冒泡 相邻两两交换
     * @param arr
     * @return
     */
    public static Integer[] sort2(Integer [] arr) {
        for(int i=0; i<arr.length; i++) {
            for(int j=arr.length-1; j>i; j--) {
                if(arr[j] > arr[j-1]) {
                    int temp = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1] = temp;
                }
                System.out.println(Arrays.toString(arr));
            }
            System.out.println("-------------------------");
        }
        return arr;
    }

    public static void main(String[] args) {
        Integer[] arr = new Integer[]{ 5, 1, 8, 9, 39, 2, 5, 3, 10, 20, 16};
//        System.out.println(Arrays.toString(sort1(arr)));
        System.out.println(Arrays.toString(sort2(arr)));
    }
}
